package sql.dml.selecao;

import sql.dml.selecao.coluna.Oque;
import sql.dml.selecao.filtro.FiltroSQl;
import sql.dml.selecao.tabela.Onde;

public class FabricaSelecao {

	private FabricaSelecao() {
	}

	static public Select fabricaSelecao(Onde[] tabelas, Oque[] colunas,
			String maximoColunas, Oque ordenar, FiltroSQl... filtroSQl) {
		Select s = new Select();
		s.setColunaOrdenar(ordenar);
		s.setMaximoLinhasSelecionar(maximoColunas);
		s.setColunas(colunas);
		s.setTabelas(tabelas);
		s.setFiltros(filtroSQl);
		return s;
	}

	static public Select fabricaSelecao(Onde[] tabelas, String maximoColunas,
			Oque ordenar, FiltroSQl... filtroSQl) {
		return fabricaSelecao(tabelas, null, maximoColunas, ordenar, filtroSQl);
	}
	static public Select fabricaSelecao(Onde[] tabelas, Oque[] colunas,
			FiltroSQl... filtroSQl) {
		return fabricaSelecao(tabelas, colunas, null, null, filtroSQl);
	}
	static public Select fabricaSelecao(Onde[] tabelas, FiltroSQl... filtroSQl) {
		return fabricaSelecao(tabelas, null, null, filtroSQl);
	}

	

}
